package com.atu.poker.dao;

import java.sql.SQLException;
import java.util.List;

import com.atu.poker.po.Seat;

public interface RoomSeatDAO {

	/**
	 * 插入房主座位号，房主座位号为0
	 * 
	 * @param roomId
	 * @param userId
	 * @throws SQLException 
	 */
	public void insertOwnerUser(String seatId,String roomId, String userId, String seatNo);

	/**
	 * 插入其他玩家的座位号，其他玩家座位号依次进入为1,2,3...
	 * 
	 * @param roomId
	 * @param userId
	 * @throws SQLException 
	 */
	public void insertOtherUser(String roomId, String userId, String seatNo);

	/**
	 * 得到该房间玩家数量
	 * 
	 * @param roomId
	 * @return
	 * @throws SQLException 
	 */
	public long userCount(String roomId);
	
	/**
	 * 获取当前房间当前用户的座位信息
	 * @param seatId
	 * @return
	 */
	public Seat getSelfSeat(String seatId);
	
	/**
	 * 获取当前房间其他用户的座位信息
	 * @param roomId
	 * @return
	 */
	public List<Seat> getOtherSeatMap(String roomId,String seatNo);
	
	/**
	 * 根据房间标识和座位号得到seatId，再得到保存的流
	 * @param roomId
	 * @param seatNo
	 * @return
	 */
	public String getSeatId(String roomId,String seatNo);
	
	/**
	 * 根据seatId获取座位号
	 * @param seatId
	 * @return
	 */
	public String getSeatNo(String seatId);
	
	/**
	 * 获取房间id
	 * @param seatId
	 * @return
	 */
	public String getRoomId(String seatId);
	
	/**
	 * 根据seatId获取玩家数量
	 * @param seatId
	 * @return
	 */
	public String getUserLimit(String seatId);
	
	/**
	 * 该用户是否已经加入房间
	 * @param userId
	 * @return
	 */
	public long alreadyJoinRoom(String userId);
	
}
